package pack1

import "fmt"

func MapInitTest01() {
	map1 := map[string]int{"one": 1, "tow": 2}
	fmt.Println("map1:", map1)

	var map2 map[string]int
	map2 = map[string]int{}
	map2["one11"] = 1
	map2["two11"] = 2
	fmt.Println("map2", map2)

	//var mp3 map[string]int

	map3 := make(map[string]int)
	map3["one11"] = 11
	fmt.Println("map3", map3)

	var map4 = map[int]func() int{
		1: func() int {
			return 1
		},
		4: func() int { return 2 },
		5: func() int { return 5 },
	}
	fmt.Println("map4", map4)

	delete(map4, 4)

	if _, ok := map4[4]; ok {
		fmt.Println("map4 存在key:", 4)
	} else {
		fmt.Println("map4 不存在key:4")
	}

	for k, v := range map4 {
		fmt.Println("key:", k, "func return value:", v())
	}

	//os.read
}
